In order to control the interchange of information over a network in which a plurality of nodes are competing for the use of the network, it is conventional to use some form of network protocol.
An example of a network based on one class of protocol, usually called a token-passing protocol, is a token-bus Local Area Network (token-bus LAN). In a token-passing network each node in the network may only transmit information to other nodes when it is in possession of a "token", sent to it by a predecessor node (logically, not necessarily physically) in the network. A node in possession of the token may pass as many messages as it requires, subject to restraints imposed on it by the protocol under which the network is operating, and then passes the token on to a successor (again logically, not necessarily physically) in the network by sending a message including the token to that node. This node then, similarly, transmits as required and then passes the token on to its successor node. The predecessor and successor relationships are arranged in the network to define a logical ring such that the token is passed repeatedly around this logical ring.
By means of this mechanism, only one node is authorised to transmit at any one time, with the result that collisions, which might otherwise occur if two or more nodes tried to transmit at once, are avoided (barring error conditions). Also, if each node is limited to a maximum token retention time on receipt of the token, then the total token rotation time around the logical ring is guaranteed to be below some maximum figure, this figure being dependent on the maximum token retention time at each node, transmission delays and the number of nodes in the network. Hence, the delay between a node requiring to transmit some information and successfully transmitting that information is a known quantity. This is a significant advantage in, for example, a LAN in a manufacturing environment where one node may be the controller of a machine tool and another a control computer giving the machine instructions.
In order for a communication network to be successful, there are many conflicting requirements, such as compatibility amongst the attached devices, performance, flexibility and reliability. By way of example, consider the situation with regard to industrial LANs. The desire to ensure compatibility, was recognized in 1978 by the International Standards Organisation which proposed and defined the Open Systems Interconnection (OSI) model as a basis for the creation of standards for communication between computing devices. Building on this model, a standard has been proposed for an industrial LAN called the Manufacturing Automation Protocol (MAP). The MAP protocol is described in a book by J. Dwyer and A. Ioannou entitled "MAP and TOP" (ISBN 1 85091 355 2). The MAP protocol achieves the requirements for compatibility very well, but at some cost to the other requirements as discussed in an artilce by F Ainscow entitled "Milestones in MAP", published in "Computer Bulletin", Vol 4, Part 2, June 1988, pages 12 and 13, by the British Computer Society.
In pure information handling applications, and in interactions with people, a few seconds delay in the transmission of a message over a communication network is tolerable in most cases. By contrast, where computers are being used to control the operation of mechanical devices, there may be a need for "real time" operation--that is a guaranteed maximum delay time in the order of milliseconds as opposed to hundreds of milliseconds or longer. As indicated above, a token-passing technique of giving access to the communication channel gives the possibility of guaranteeing a maximum response time. The MAP is based on a token-passing protocol. However, the need to handle efficiently long files under the protocol means that the token retention time is relatively high with the result that the time guaranteed is in the order of one second, even for moderately sized networks.
One technique for reducing the guaranteed time is to subdivide a network into a plurality of smaller networks. This approach is not without its difficulties, however, as it introduces the problem of inter-network communication at gateways, increases the transmission delay to nodes on the other networks and means compromising compatibility and flexibility.
For communication networks where a guaranteed maximum response time is not a requirement there exists a class of protocols termed Carrier Sense Multiple Access/Collision Detection (CSMA/CD) protocols. An example of such a protocol is the "Ethernet" protocol. In a CSMA/CD network, any node requiring access may attempt transmission at any time when the network is not active. Collisions between two or more nodes which attempt transmission at the same time are handled by all nodes ceasing transmission then attempting transmission some time later. The delay before attempting retransmission is variable, to avoid two or more nodes repeatedly issuing colliding transmissions, leading to inability to transmit. This type of network has the advantage that at low traffic levels, the delay to transmit a message is generally low. However, it has the disadvantage that at high traffic levels, the delay to transmit a message can get very long indeed, due to frequent collisions occurring, and consequently an unacceptable delay may be experienced in transmission. Further, at high traffic levels, the high level of collisions leads to very inefficient usage of the communication channel, just at a time when high capacity is desirable. Complicated algorithms are sometimes employed to prevent the delays becoming excessive, especially in the case of low priority nodes.
In Japanese patent application JA 61 102 842 (Ricoh Co Ltd), a CSMA/CD network is proposed which uses frequency division multiplexing to provide a fixed control channel and a number of data transfer channels, each channel occupying a different frequency band. Two nodes wishing to set up a one-to-one communication path negotiate over the control channel to find a free data transfer channel and agree to communicate over this channel. In this way, a number of one-to-one communications can take place simultaneously, giving high priority nodes the required rapid access to the network (assuming that these nodes maintain a data transfer channel allocated to them at all times). However, it still takes an indefinite time to set up the one-to-one communication links. This is because, as with all CSMA/CD type communication channels, the time taken to communicate over the CSMA/CD control channel cannot be guaranteed and consequently negotiating the use of a data channel over the control channel takes an indefinite time. As a result, at least some nodes, say high priority nodes which make infrequent use of communications so that it would be uneconomic to allocate them a data channel permanently, could experience unpredictable delays before being allocated a channel. An example of such a node is an error monitoring node, designed to signal to the system when a particular parameter exceeds its permitted range (e.g. speed of a conveyor, temperature of a furnace, etc). This would not be acceptable in many network applications such as, for example, an industrial LAN.